]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
style: Improve text scaling support
authorSam Hewitt <snwh@gnome.org>
Wed, 29 Nov 2023 17:48:59 +0000 (14:18 -0330)
committerMarge Bot <marge-bot@gnome.org>
Tue, 5 Dec 2023 12:14:53 +0000 (12:14 +0000)
- new drawing function to convert px to em, for select instances
- updated fontsize function to convert fonts in pt to em
- replace instances of discrete sizes with defined values
- fix instances where assets or icons did not scale along with text
- rework panel buttons to accommodate the scaling padding and icons
- new 'scalable' definitions for elements that follow text scaling

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3033>

35 files changed:
data/theme/gnome-shell-high-contrast.scss
data/theme/gnome-shell-sass/_colors.scss
data/theme/gnome-shell-sass/_common.scss
data/theme/gnome-shell-sass/_drawing.scss
data/theme/gnome-shell-sass/widgets/_app-grid.scss
data/theme/gnome-shell-sass/widgets/_buttons.scss
data/theme/gnome-shell-sass/widgets/_calendar.scss
data/theme/gnome-shell-sass/widgets/_dash.scss
data/theme/gnome-shell-sass/widgets/_dialogs.scss
data/theme/gnome-shell-sass/widgets/_entries.scss
data/theme/gnome-shell-sass/widgets/_hotplug.scss
data/theme/gnome-shell-sass/widgets/_ibus-popup.scss
data/theme/gnome-shell-sass/widgets/_keyboard.scss
data/theme/gnome-shell-sass/widgets/_login-lock.scss
data/theme/gnome-shell-sass/widgets/_looking-glass.scss
data/theme/gnome-shell-sass/widgets/_message-list.scss
data/theme/gnome-shell-sass/widgets/_misc.scss
data/theme/gnome-shell-sass/widgets/_notifications.scss
data/theme/gnome-shell-sass/widgets/_osd.scss
data/theme/gnome-shell-sass/widgets/_overview.scss
data/theme/gnome-shell-sass/widgets/_panel.scss
data/theme/gnome-shell-sass/widgets/_popovers.scss
data/theme/gnome-shell-sass/widgets/_quick-settings.scss
data/theme/gnome-shell-sass/widgets/_screenshot.scss
data/theme/gnome-shell-sass/widgets/_search-entry.scss
data/theme/gnome-shell-sass/widgets/_search-results.scss
data/theme/gnome-shell-sass/widgets/_slider.scss
data/theme/gnome-shell-sass/widgets/_switcher-popup.scss
data/theme/gnome-shell-sass/widgets/_switches.scss
data/theme/gnome-shell-sass/widgets/_window-picker.scss
data/theme/gnome-shell-sass/widgets/_workspace-switcher.scss
data/theme/gnome-shell-sass/widgets/_workspace-thumbnails.scss
js/ui/appDisplay.js
js/ui/dateMenu.js
js/ui/messageList.js

index 00f247e73fdfb01a3da85d0716b8eafaaef85d20..67378203e2c25b9574e624eec8dd7d5f70d019a1 100644 (file)
@@ -5,7 +5,6 @@ $variant: 'dark';
 @import "gnome-shell-sass/_common";
 @import "gnome-shell-sass/_widgets";
 
-.toggle-switch { width: 48px; }
 .toggle-switch {
   background-image: url("resource:///org/gnome/shell/theme/toggle-off-hc.svg");
   &:checked { background-image: url("resource:///org/gnome/shell/theme/toggle-on-hc.svg"); }
index ebb9a0171264e1b19dc1e6b01a8027290b1f31bd..5a8d6525f149de4966e7185601eed822de94b245 100644 (file)
@@ -37,7 +37,9 @@ $osd_insensitive_fg_color: mix($osd_fg_color, $osd_bg_color, 70%);
 $osd_borders_color: transparentize($osd_fg_color, 0.9);
 $osd_outer_borders_color: transparentize($osd_fg_color, 0.98);
 
+// shadows
 $shadow_color: if($variant == 'light', rgba(0,0,0,.05), rgba(0,0,0,0.2));
+$text_shadow_color: if($variant == 'light', rgba(255,255,255,0.3), rgba(0,0,0,0.2));
 
 // buttons
 $button_mix_factor: if($variant == 'light', 12%, 9%);
index 5b117ea7140b58657b49775643f21c0f6af5c73a..965f350756db08d75552d0eae4886ab251579901 100644 (file)
@@ -25,29 +25,39 @@ $cakeisalie: "This stylesheet is generated, DO NOT EDIT";
 
 /* Global Values */
 
-// padding, margin and spacing
-$base_padding: 6px;
-$base_margin: 4px;
+// Base values of elemetns of the shell in their smallest "unit".
+// These are used in calculations elsewhere to have elements in proportion
+$base_font_size: 11pt;      // font size
+$base_padding: 6px;         // internal padding of elements
+$base_margin: 4px;          // margin between elements
+$base_border_radius: 8px;   // radii on all elements
 
-// border radii
-$base_border_radius: 8px;
+// Radius used to make sure elements that have rounded corners stay as such.
+// This is a workaround for 50% not working.
+$forced_circular_radius: 999px;
 
 // radii of things that display over other things, e.g. popovers
-$modal_radius: $base_border_radius*2; // 24px
+$modal_radius: $base_border_radius * 2;
 
 // Chroma key to flag when a background-color is always occluded, not visible.
 // This allows any box-shadow behind it to be rendered more efficiently by
 // omitting the middle rectangle.
 $invisible_occluded_bg_color: rgba(3,2,1,0);
 
-// fonts
-$base_font_size: 11;
-$text_shadow_color: if($variant == 'light', rgba(255,255,255,0.3), rgba(0,0,0,0.2));
+// Fixed icon sizes
+$base_icon_size: 16px;
+$medium_icon_size: $base_icon_size * 1.5; // 24px
+$large_icon_size: $base_icon_size * 2; // 32px
+
+// Scaled values
+// Used in elements that follow text scaling factors
+$scaled_padding: to_em(6px); // same as $base_padding
+
+// Used for symbolic icons that scale
+$scalable_icon_size: to_em(16px);
+$medium_scalable_icon_size: $scalable_icon_size * 1.5;
+$large_scalable_icon_size: $scalable_icon_size * 2;
 
-// icons
-$base_icon_size: 1.09em;
-$large_icon_size: $base_icon_size*2; // 32px
-// $base_icon_size: 16px;
 
 // Stage
 stage {
@@ -59,7 +69,7 @@ stage {
 
 // icon tiles
 %tile {
-  border-radius: $base_border_radius * 2; // 16px
+  border-radius: $base_border_radius * 2;
   padding: $base_padding;
   spacing: $base_padding;
   border: 2px solid transparent;
@@ -78,7 +88,7 @@ stage {
   border-style: solid;
   border-width: 1px;
   font-weight: bold;
-  padding: $base_padding*.5 $base_padding*4;
+  padding: $base_padding * .5 $base_padding * 4;
 }
 
 %button {
@@ -108,7 +118,7 @@ stage {
 // normal entry style
 %entry_common {
   border-radius: $base_border_radius;
-  padding: $base_padding*1.5 $base_padding*1.5;
+  padding: $base_padding * 1.5 $base_padding * 1.5;
   selection-background-color: $selected_bg_color;
   selected-color: $selected_fg_color;
 }
@@ -172,7 +182,7 @@ stage {
   border: 1px solid transparentize($light_1, 0.9);
   color: $light_1;
 
-  border-radius: 99px;
+  border-radius: $forced_circular_radius;
   padding: $base_padding $base_padding * 2;
   text-align: center;
 
@@ -185,47 +195,47 @@ stage {
 /* General Typography */
 %large_title {
   font-weight: 300;
-  @include fontsize(24);
+  @include fontsize(24pt);
 }
 
 %title_1 {
   font-weight: 800;
-  @include fontsize(20);
+  @include fontsize(20pt);
 }
 
 %title_2 {
   font-weight: 800;
-  @include fontsize(15);
+  @include fontsize(15pt);
 }
 
 %title_3 {
   font-weight: 700;
-  @include fontsize(15);
+  @include fontsize(15pt);
 }
 
 %title_4 {
   font-weight: 700;
-  @include fontsize(13);
+  @include fontsize(13pt);
 }
 
 %heading {
   font-weight: 700;
-  @include fontsize(11);
+  @include fontsize(11pt);
 }
 
 %caption_heading {
   font-weight: 700;
-  @include fontsize(9);
+  @include fontsize(9pt);
 }
 
 %caption {
   font-weight: 400;
-  @include fontsize(9);
+  @include fontsize(9pt);
 }
 
 %smaller {
   font-weight: 400;
-  @include fontsize(8);
+  @include fontsize(8pt);
 }
 
 %monospace {font-family: monospace;}
@@ -237,8 +247,8 @@ stage {
   color: $osd_fg_color;
   background-color: $osd_bg_color;
   border: 1px solid $osd_outer_borders_color;
-  border-radius: 999px;
-  padding: $base_padding*2;
+  border-radius: $forced_circular_radius;
+  padding: $base_padding * 2;
 
   @if $is_highcontrast {
     border: 2px solid $hc_inset_color;
index 404c4dc81ad610757205a9c927ee08433b658a77..23e996ac2bcf7cc6de54e01ebc761813d7118a20 100644 (file)
@@ -7,10 +7,20 @@
   @return 0 1px $c;
 }
 
-// provide font size in rem, with px fallback
-@mixin fontsize($size: 24, $base: 16) {
-  font-size: round($size) + pt;
-  //font-size: ($size / $base) * 1rem;
+// Function to convert px values to em
+@function to_em($input, $base: 16px) {
+  // multiplied and divided by 1000 to make up for round() shortcoming
+  $em_value: ($input / $base) * 1.091 * 1000;
+  @return round($em_value) / 1000 * 1em;
+}
+
+// Mixin to convert provided font size in pt to em units
+@mixin fontsize($size, $base: 16px, $unit: pt) {
+  // if pt, convert into unitless value with the assumption: 1pt = 1.091px
+  $adjusted_size: if($unit == pt, $size * 1.091, $size) * 1000;
+  $rounded_size: round($adjusted_size / $base) / 1000;
+  font-size: $rounded_size * 1em;
+  // font-size: round($size) + pt;
 }
 
 @mixin draw_shadows($shadow1, $shadow2:none, $shadow3:none, $shadow4:none) {
 
 // styling for elements within popovers that look like notifications
 @mixin card($flat: false) {
-  border-radius: $base_border_radius*1.5;
+  border-radius: $base_border_radius * 1.5;
+  padding: $scaled_padding * 2;
   margin: $base_margin;
 
   @if $flat {
   font-weight: normal;
   spacing: $base_padding;
   transition-duration: 100ms;
-  padding: $base_padding*1.5 $base_padding*2;
+  padding: $base_padding * 1.5 $base_padding * 2;
 
   @if $flat {
     @include button(undecorated);
 
   transition-duration: 150ms;
   border: 3px solid transparent;
-  border-radius: 99px;
+  border-radius: $forced_circular_radius;
 
   font-weight: bold;
   background-color: transparent;
     #{$child_class} {
       transition-duration: 150ms;
       border: 3px solid transparent;
-      border-radius: 99px;
+      border-radius: $forced_circular_radius;
     }
 
     &:active, &:focus, &:checked {
index 1231f91e1f2c96b4b57273b46245875655c5bce4..c0d1631da115dadde7dee35263800a250eccd7ac 100644 (file)
@@ -21,8 +21,8 @@ $app_icon_size: 96px;
   @include overview_icon($system_fg_color);
 
   .overview-icon {
-    padding: $base_padding*2;
-    border-radius: $base_border_radius*3;
+    padding: $base_padding * 2;
+    border-radius: $base_border_radius * 3;
     color: $system_fg_color;
   }
   .overview-icon.overview-icon-with-label {
@@ -39,7 +39,7 @@ $app_icon_size: 96px;
 
 // expanded folder
 .app-folder-dialog {
-  border-radius: $modal_radius*4;
+  border-radius: $modal_radius * 4;
   background-color: $system_overlay_bg_color;
 
   @if $is_highcontrast {
@@ -51,8 +51,8 @@ $app_icon_size: 96px;
   }
 
   & .folder-name-container {
-    padding: 24px 36px 0;
-    spacing: 12px;
+    padding: $base_padding * 4 $base_padding * 6 0;
+    spacing: $base_padding * 2;
 
     & .folder-name-label,
     & .folder-name-entry {
@@ -66,15 +66,6 @@ $app_icon_size: 96px;
 
     /* FIXME: this is to keep the label in sync with the entry */
     & .folder-name-label { padding: 5px 7px; color: $system_fg_color; }
-
-    & .edit-folder-button {
-      @extend %button;
-      padding: 0;
-      width: 36px;
-      height: 36px;
-      border-radius: 99px;
-      & > StIcon { icon-size: $base_icon_size }
-    }
   }
 
   & .icon-grid {
@@ -92,7 +83,7 @@ $app_icon_size: 96px;
 }
 
 .app-folder-dialog-container {
-  padding: $base_padding*2;
+  padding: $base_padding * 2;
   width: 720px;
   height: 720px;
 }
@@ -115,14 +106,15 @@ $app_icon_size: 96px;
 }
 
 // App Grid pagination indicators
+$page_indicator_size: 10px;
 .page-indicator {
   padding: $base_padding $base_padding * 2 0;
   transition-duration:400ms;
 
   .page-indicator-icon {
-    width: 10px;
-    height: 10px;
-    border-radius: 10px; // the same as height&width
+    width: $page_indicator_size;
+    height: $page_indicator_size;
+    border-radius: $forced_circular_radius;
     background-color: white;
     transition-duration: 400ms;
   }
@@ -136,7 +128,7 @@ $app_icon_size: 96px;
 .system-action-icon {
   background-color: transparentize($system_fg_color,.9);
   color: $system_fg_color;
-  border-radius: 99px;
+  border-radius: $forced_circular_radius;
   icon-size: $app_icon_size * 0.5;
   @if $is_highcontrast {
     box-shadow: inset 0 0 0 2px $hc_inset_color;
@@ -153,7 +145,7 @@ $app_icon_size: 96px;
     background-gradient-start: rgba(255, 255, 255, 0.05);
     background-gradient-end: transparent;
     background-gradient-direction: horizontal;
-    border-radius: $modal_radius*1.5 0px 0px $modal_radius*1.5;
+    border-radius: $modal_radius * 1.5 0px 0px $modal_radius * 1.5;
   }
 
   &.previous:ltr,
@@ -161,16 +153,16 @@ $app_icon_size: 96px;
     background-gradient-start: transparent;
     background-gradient-end: rgba(255, 255, 255, 0.05);
     background-gradient-direction: horizontal;
-    border-radius: 0px $modal_radius*1.5 $modal_radius*1.5 0px;
+    border-radius: 0px $modal_radius * 1.5 $modal_radius * 1.5 0px;
   }
 }
 
 .page-navigation-arrow {
-  margin: 6px;
-  padding: 18px;
-  width: 24px;
-  height: 24px;
-  border-radius: 99px;
+  margin: $base_padding;
+  padding: $base_padding * 3;
+  width: $medium_icon_size;
+  height: $medium_icon_size;
+  border-radius: $forced_circular_radius;
   transition-duration: 100ms;
 
   > StIcon { color: $system_fg_color;}
index 84d23161fcbb1a9a2c580863f6a0d3db7741b512..18db60c9177a7ced55ef5e525a3161fb288d1d2a 100644 (file)
@@ -1,19 +1,20 @@
 /* Buttons */
 
 .button {
-  @extend %button; // that's it
-  min-height: 22px;
+  @extend %button;
+  // uses scalable value since it's a text element
+  min-height: to_em(22px);
 }
 
 .icon-button {
-  @extend .button; // same style as buttons
+  @extend %button;
 
-  border-radius: 99px;
-  padding: $base_padding*2;
-  min-height: 16px;
+  border-radius: $forced_circular_radius; // is circular
+  padding: $scaled_padding * 2;
+  min-height: $scalable_icon_size;
 
   StIcon {
-    icon-size: $base_icon_size;
+    icon-size: $scalable_icon_size;
     -st-icon-style: symbolic;
   }
 }
index fc054da3810c946a93b6f6c67f2c3fb1a4274819..5bc8cebe6217073ba5686cbcb1ae9f085e315580 100644 (file)
@@ -2,7 +2,7 @@
 
 // overall menu
 #calendarArea {
-  padding: $base_padding - 2px;
+  padding: $base_margin;
 }
 
 // Calendar menu side column
@@ -40,7 +40,7 @@
     // prev/next month icons
     .calendar-change-month-back StIcon,
     .calendar-change-month-forward StIcon {
-      icon-size: $base_icon_size;
+      icon-size: $scalable_icon_size;
     }
 
     // month label
     }
 
     .pager-button {
-      @extend .button, .flat;
-      padding: 0 !important;
-      height: 32px;
-      width: 32px;
-      margin: 2px;
-      border-radius: $base_border_radius;
+      @extend .icon-button, .flat;
+      margin: $base_margin * 0.5;
+      padding: $base_padding !important;
+      border-radius: $base_border_radius !important;
       transition-duration: 100ms;
     }
   }
@@ -66,7 +64,7 @@
     @extend %smaller;
     @extend .button, .flat;
 
-    border-radius: 99px;
+    border-radius: $forced_circular_radius;
     height: 3em !important;
     width: 3em !important;
     margin: 2px;
@@ -82,7 +80,7 @@
       height: 0.93em !important; // force heading to be smaller height
       padding-top: $base_padding !important;
       margin-bottom: 0;
-      border-radius: 9px;
+      border-radius: $base_border_radius * 1.5;
     }
 
     &.calendar-weekday {}
 
   // week number style
   .calendar-week-number {
-    @include fontsize($base_font_size - 4);
+    @extend %smaller;
     font-weight: bold;
     font-feature-settings: "tnum";
     text-align: center;
-    margin: 6px;
+    margin: $base_padding;
     padding: 0 $base_padding;
-    border-radius: 3px;
+    border-radius: $base_border_radius * 0.5;
     background-color: transparentize($fg_color, 0.9);
     color: $insensitive_fg_color;
 
 /* Events */
 .events-button {
   @include card;
-  padding: $base_padding * 2;
 
   .events-box {
     spacing: $base_padding;
 /* World clocks */
 .world-clocks-button {
   @include card;
-  padding: $base_padding * 2;
 
   .world-clocks-grid {
     spacing-rows: $base_padding;
 /* Weather */
 .weather-button {
   @include card;
-  padding: $base_padding * 2;
 
   .weather-box {
     spacing: $base_padding + $base_margin;
   }
 
   .weather-forecast-icon {
-    icon-size: $large_icon_size;
+    icon-size: $large_scalable_icon_size;
   }
 
   .weather-forecast-temp {
index 4af0ab0da7e1d586391b7d420f02104e7fea12a8..169d1e245c2b6c2ad370b9c43d1d2fd1030456c9 100644 (file)
@@ -4,7 +4,7 @@
 $dash_background_color: $system_overlay_bg_color;
 
 $dash_placeholder_size: 32px;
-$dash_padding: $base_padding*2; // 12px
+$dash_padding: $base_padding * 2; // 12px
 $dash_border_radius: $modal_radius + $dash_padding;
 
 // container for the dash
@@ -53,7 +53,7 @@ $dash_border_radius: $modal_radius + $dash_padding;
   // each app item on the dash
   .app-well-app .overview-icon {
     padding: $base_padding;
-    border-radius: $base_border_radius*2;
+    border-radius: $base_border_radius * 2;
   }
 
   // show apps button
index 98b3b8ce5dcb6cac2c3c8a62c599483004ef3965..48bb9c0ca67703f6943bbf91d9e7191dd1c353f9 100644 (file)
@@ -10,8 +10,8 @@
   box-shadow: inset 0 0 0 1px $outer_borders_color;
 
   .modal-dialog-content-box {
-    margin: 32px 40px;
-    spacing: 32px;
+    margin: $base_margin * 8 $base_margin * 10;
+    spacing: $base_margin * 8;
     max-width: 28em;
   }
 
@@ -32,7 +32,7 @@
 
 /* Message Dialog */
 .message-dialog-content {
-  spacing: 18px;
+  spacing: $base_padding * 3;
 
   .message-dialog-title {
     text-align: center;
@@ -45,7 +45,7 @@
 
 /* Dialog List */
 .dialog-list {
-  spacing: 18px;
+  spacing: $base_padding * 3;
 
   .dialog-list-title {
     text-align: center;
@@ -71,8 +71,8 @@
 /* Run Dialog */
 .run-dialog {
   .modal-dialog-content-box {
-    margin-top: 24px;
-    margin-bottom: 14px;
+    margin-top: $base_padding * 4;
+    margin-bottom: $base_padding * 2;
   }
   .run-dialog-entry { width: 20em; }
   .run-dialog-description {
   width: 28em;
 
   .modal-dialog-content-box {
-    margin-bottom: 24px;
+    margin-bottom: $base_margin * 6;
   }
 }
 
 .prompt-dialog-password-grid {
-  spacing-rows: 8px;
-  spacing-columns: 4px;
+  spacing-rows: $base_margin * 2;
+  spacing-columns: $base_margin;
 
   .prompt-dialog-password-entry {
     width: auto;
 
     // 4px (spacing) + 16px (spinner-width)
-    &:ltr { margin-left: 20px; }
-    &:rtl { margin-right: 20px; }
+    &:ltr { margin-left: $base_margin+$base_icon_size; }
+    &:rtl { margin-right: $base_margin+$base_icon_size; }
   }
 }
 
 .prompt-dialog-password-layout {
-  spacing: 8px;
+  spacing: $base_margin * 2;
 }
 
 .prompt-dialog-password-entry {
 
 .polkit-dialog-user-layout {
   text-align: center;
-  spacing: 8px;
-  margin-bottom: 6px;
+  spacing: $base_margin * 2;
+  margin-bottom: $base_padding;
 
   .polkit-dialog-user-root-label { color: $warning_color; }
 }
 
 /* Audio selection dialog */
 .audio-device-selection-dialog {
-  .modal-dialog-content-box { margin-bottom: 28px; }
-  .audio-selection-box { spacing: 20px; }
+  .modal-dialog-content-box { margin-bottom: $base_margin * 7; }
+  .audio-selection-box { spacing: $base_margin * 5; }
 }
 
 .audio-selection-device {
-  border-radius: $base_border_radius*2;
+  border-radius: $base_border_radius * 2;
   &:hover,&:focus { background-color: $hover_bg_color; }
-  &:active { 
+  &:active {
     background-color: $selected_bg_color;
     color: $selected_fg_color;
   }
 }
 
 .audio-selection-device-box {
-  padding: 20px;
-  spacing: 20px;
+  padding: $base_margin * 5;
+  spacing: $base_margin * 5;
 }
 
 .audio-selection-device-icon {
index a10546fa908c7b4b05b65c3b2c698de8cfaaffad..41e10f7663e548b00fe54881e90e2ed385f48dd7 100644 (file)
@@ -4,17 +4,17 @@ StEntry {
   @extend %entry;
 
   StIcon.capslock-warning {
-    icon-size: $base_icon_size;
+    icon-size: $scalable_icon_size;
     warning-color: $warning_color;
-    padding: 0 4px;
+    padding: 0 $base_margin;
   }
 
   StIcon.peek-password {
-    icon-size: $base_icon_size;
-    padding: 0 4px;
+    icon-size: $scalable_icon_size;
+    padding: 0 $base_margin;
   }
 
   StLabel.hint-text {
-    margin-left: 2px;
+    margin-left: $base_margin * 0.5;
   }
 }
index acd0265dc4d371d6c8888f7aad61a233ec5686bf..f20626b5e42e982f7afdd28754524b2e087ea283 100644 (file)
@@ -5,6 +5,6 @@
 }
 
 .hotplug-notification-item-icon {
-  icon-size: 24px;
-  padding: 0 4px;
+  icon-size: $medium_icon_size;
+  padding: 0 $base_margin;
 }
index 8cbaa9521b39ead21c706b0e7f5a46fc27df21ec..c1c0cfad8606b8da0a56a5887e197317ad87f0ad 100644 (file)
@@ -17,7 +17,7 @@
 }
 
 .candidate-box {
-  padding: $base_padding $base_padding*2 $base_padding $base_padding*2;
+  padding: $base_padding $base_padding * 2 $base_padding $base_padding * 2;
   border-radius: $base_border_radius;
   &:selected { background-color: $selected_bg_color; color: $selected_fg_color; }
   &:hover { background-color: $hover_bg_color; color: $hover_fg_color; }
@@ -25,8 +25,8 @@
 
 .candidate-page-button-box {
   height: 2em;
-  .vertical & { padding-top: $base_padding*2; }
-  .horizontal & { padding-left: $base_padding*2; }
+  .vertical & { padding-top: $base_padding * 2; }
+  .horizontal & { padding-left: $base_padding * 2; }
 }
 
 .candidate-page-button {
index 1dc6b953c64b6f92ef5c9727632b588a14131c58..99d86337aaaed33bf3a05b0fff7fd9f81fcbbced 100644 (file)
@@ -1,7 +1,7 @@
 /* On-screen Keyboard */
 
 $key_size: 1.2em;
-$key_border_radius: $base_border_radius + 4px; // 12px
+$key_border_radius: $base_border_radius * 1.25;
 $key_bg_color:  darken($osd_fg_color, 70%);
 // $default_key_bg_color: darken($key_bg_color, 4%);
 $default_key_bg_color: if($variant=='light', darken($key_bg_color, 11%), darken($key_bg_color, 10%));
@@ -31,8 +31,7 @@ $default_key_bg_color: if($variant=='light', darken($key_bg_color, 11%), darken(
 
 // the keys
 .keyboard-key {
-
-  @include fontsize($base_font_size + 5);
+  @include fontsize($base_font_size + 5pt);
   font-weight: bold;
   min-height: $key_size;
   min-width: $key_size;
@@ -80,9 +79,9 @@ $default_key_bg_color: if($variant=='light', darken($key_bg_color, 11%), darken(
   }
 
   &.shift-key-lowercase {}
-  
+
   // pressed shift has different style
-  &.shift-key-uppercase { 
+  &.shift-key-uppercase {
     background-color: lighten($key_bg_color, 20%);
     color: $osd_bg_color;
     &:hover {
@@ -92,12 +91,12 @@ $default_key_bg_color: if($variant=='light', darken($key_bg_color, 11%), darken(
   }
 
   // size of icons on keys
-  StIcon { icon-size: 24px; }
+  StIcon { icon-size: $medium_icon_size; }
 }
 
 // long press on a key popup
 .keyboard-subkeys {
-  -arrow-border-radius: $base_border_radius*2;
+  -arrow-border-radius: $base_border_radius * 2;
   -arrow-background-color: $osd_bg_color;
   -arrow-border-width: 1px;
   -arrow-border-color: lighten($osd_bg_color, 9%);
@@ -136,18 +135,18 @@ $default_key_bg_color: if($variant=='light', darken($key_bg_color, 11%), darken(
 
 // suggestions
 .word-suggestions {
-  @include fontsize($base_font_size + 1);
+  @extend %title_4;
   spacing: 12px;
   min-height: 17pt;
-  padding: $base_padding*2;
+  padding: $base_padding * 2;
   color: $osd_fg_color;
 
   // each suggestion
   StButton {
     margin: 0 3px;
     min-width: 32px;
-    border-radius: $base_border_radius - 2px;
-    padding: 0px $base_padding*3;
+    border-radius: 4px;
+    padding: 0px $base_padding * 3;
 
     @include keyboard_key(undecorated, $key_bg_color, $osd_fg_color);
 
index 8677ae748650a289f9a12a6dbadf84124f0319fa..feff37d38e18c2144401ea8d6cee36eef67f4405 100644 (file)
@@ -28,13 +28,13 @@ $_gdm_dialog_width: 23em;
   }
 
   &.cancel-button {
-    padding: $base_padding*1.5;
+    padding: $base_padding * 1.5;
   }
 }
 
 .login-dialog-button-box {
   width: $_gdm_dialog_width;
-  spacing: $base_padding*2;
+  spacing: $base_padding * 2;
 }
 
 .login-dialog-logo-bin {
@@ -46,10 +46,10 @@ $_gdm_dialog_width: 23em;
 .login-dialog-user-selection-box { padding: 100px 0px; }
 
 .login-dialog-not-listed-label {
-  @include fontsize($base_font_size);
+  @extend %heading;
   font-weight: bold;
   color: darken($_gdm_fg,30%);
-  padding: $base_padding*2;
+  padding: $base_padding * 2;
 
   .login-dialog-not-listed-button:focus &,
   .login-dialog-not-listed-button:hover & {
@@ -62,7 +62,7 @@ $_gdm_dialog_width: 23em;
 
 .login-dialog-auth-list-view { -st-vfade-offset: 1em; }
 .login-dialog-auth-list {
-  spacing: 6px;
+  spacing: $base_padding;
   margin-left: 2em;
 }
 .login-dialog-auth-list-title {
@@ -70,8 +70,8 @@ $_gdm_dialog_width: 23em;
 }
 
 .login-dialog-auth-list-item {
-  border-radius: $base_border_radius*2;
-  padding: 4px;
+  border-radius: $base_border_radius * 2;
+  padding: $base_margin;
   color: darken($_gdm_fg,30%);
 
   &:focus, &:selected {
@@ -81,22 +81,20 @@ $_gdm_dialog_width: 23em;
 }
 
 .login-dialog-auth-list-label {
-  @include fontsize($base_font_size + 2);
+  @extend %title_4;
   font-weight: bold;
-  padding-left: 15px;
-
-  &:ltr { padding-left: 14px; text-align: left; }
-  &:rtl { padding-right: 14px; text-align: right; }
+  &:ltr { padding-left: $base_padding * 2.5; text-align: left; }
+  &:rtl { padding-right: $base_padding * 2.5; text-align: right; }
 }
 
 .login-dialog-user-list-view { -st-vfade-offset: 1em; }
 
 .login-dialog-user-list {
-  spacing: 12px;
+  spacing: $base_padding * 2;
   width: $_gdm_dialog_width;
 
   .login-dialog-user-list-item {
-    border-radius: $base_border_radius + 4px;
+    border-radius: $base_border_radius + $base_margin;
     padding: $base_padding;
     background-color: transparentize($_gdm_fg, .95);
     color: $_gdm_fg;
@@ -110,7 +108,7 @@ $_gdm_dialog_width: 23em;
 
     .login-dialog-timed-login-indicator {
       height: 2px;
-      margin-top: 6px;
+      margin-top: $base_padding;
       background-color: darken($_gdm_fg, 30%);
     }
 
@@ -141,7 +139,7 @@ $_gdm_dialog_width: 23em;
 }
 
 .login-dialog-prompt-layout {
-  spacing: $base_padding*2;
+  spacing: $base_padding * 2;
   width: 26em;
 }
 
@@ -178,7 +176,7 @@ $_gdm_dialog_width: 23em;
 
   .unlock-dialog-clock-time {
     @extend %numeric;
-    @include fontsize(72);
+    @include fontsize(72pt);
     font-weight: 200;
   }
 
@@ -189,8 +187,8 @@ $_gdm_dialog_width: 23em;
 
   .unlock-dialog-clock-hint {
     margin-top: 2em;
-    padding: $base_padding $base_padding*3;
-    border-radius: $base_border_radius*2;
+    padding: $base_padding $base_padding * 3;
+    border-radius: $base_border_radius * 2;
     font-weight: bold;
   }
 }
@@ -205,8 +203,8 @@ $_gdm_dialog_width: 23em;
 }
 
 .unlock-dialog-notifications-container {
-  margin: 12px;
-  spacing: 6px;
+  margin: $base_margin * 3;
+  spacing: $base_padding;
   width: $_gdm_dialog_width;
   background-color: transparent;
 
@@ -217,7 +215,7 @@ $_gdm_dialog_width: 23em;
 
   .notification,
   .unlock-dialog-notification-source {
-    padding: 12px 16px;
+    padding: $base_margin * 3 $base_margin * 4;
     border: none;
     background-color: transparentize($_gdm_fg,0.9);
     color: $_gdm_fg;
@@ -228,17 +226,17 @@ $_gdm_dialog_width: 23em;
 }
 
 .unlock-dialog-notification-label {
-  padding-left: 12px;
+  padding-left: $base_padding * 2;
   padding-right: 0;
-  &:rtl { padding-right: 12px; padding-left: 0; }
+  &:rtl { padding-right: $base_padding * 2; padding-left: 0; }
 }
 
 .unlock-dialog-notification-count-text {
   font-weight: bold;
-  padding: 0 12px;
+  padding: 0 $base_padding * 2;
   color: $_gdm_fg;
   background-color: transparentize($_gdm_fg, 0.9);
-  border-radius: 99px;
+  border-radius: $forced_circular_radius;
 }
 
 
@@ -251,17 +249,19 @@ $_gdm_dialog_width: 23em;
 
   // layout of the user list
   &.horizontal {
-    spacing: $base_padding*3;
+    spacing: $base_padding * 3;
     .user-widget-label {
       @extend %title_3;
     }
 
     .user-icon {
+      border-radius: $forced_circular_radius;
+
       & StIcon {
-        padding: 12px;
-        icon-size: $base_icon_size*2;
-        width: $base_icon_size*3;
-        height:  $base_icon_size*3;
+        padding: $base_padding * 2;
+        icon-size: $base_icon_size * 2;
+        width: $base_icon_size * 3;
+        height:  $base_icon_size * 3;
         background-color: transparentize($_gdm_fg, 0.9);
       }
     }
@@ -269,7 +269,7 @@ $_gdm_dialog_width: 23em;
 
   // layout of the login prompt
   &.vertical {
-    spacing: $base_padding*4;
+    spacing: $base_padding * 4;
 
     .user-widget-label {
       @extend %title_1;
@@ -278,11 +278,11 @@ $_gdm_dialog_width: 23em;
     }
 
     .user-icon {
-      icon-size: $base_icon_size*10;
+      icon-size: $base_icon_size * 10;
 
       & StIcon {
-        padding: 32px;
-        icon-size: $base_icon_size*4;
+        padding: $base_padding * 4;
+        icon-size: $base_icon_size * 4;
         background-color: transparentize($_gdm_fg, 0.9);
       }
     }
index 7cd81e4469e204cf53ad48132fbf1957a1668191..37ce4b76efb4a275aae7167b1aefe926e12db36b 100644 (file)
@@ -29,7 +29,7 @@
 
     .lg-toolbar-button {
       @extend %osd_button;
-      padding: $base_padding $base_padding*2;
+      padding: $base_padding $base_padding * 2;
 
       & > StIcon { icon-size: $base_icon_size; }
     }
@@ -41,9 +41,9 @@
 
   .notebook-tab {
     @extend %osd_button;
-    -natural-hpadding: $base_padding*2;
-    -minimum-hpadding: $base_padding*2;
-    padding: $base_padding $base_padding*2;
+    -natural-hpadding: $base_padding * 2;
+    -minimum-hpadding: $base_padding * 2;
+    padding: $base_padding $base_padding * 2;
   }
 
   StBoxLayout#EvalBox { padding: 4px; spacing: $base_padding; padding: $base_padding; }
@@ -54,7 +54,7 @@
 
   StEntry {
     @extend %osd_entry;
-    min-height: 22px;
+    min-height: to_em(22px);
   }
 
   .shell-link {
@@ -97,7 +97,6 @@
 }
 
 .lg-extension {
-  padding: $base_padding*2;
   @include card;
 }
 
index 9a9144b80dfeb3253dd42344ccc80a8bb23b63f3..6e4d9f60adf538056ca723f54bf32fafb4894da6 100644 (file)
@@ -16,8 +16,8 @@
 
     // icon size and color
     > StIcon {
-      icon-size: $base_icon_size*3; // 48px
-      margin-bottom: $base_margin*3;
+      icon-size: $scalable_icon_size * 3; // 48px
+      margin-bottom: $base_margin * 3;
       -st-icon-style: symbolic;
     }
   }
@@ -63,6 +63,7 @@
 // message bubbles
 .message {
   @include card;
+  padding: 0 !important;
 
   // icon container
   .message-icon-bin {
@@ -73,7 +74,7 @@
 
     // icon size and color
     > StIcon {
-      icon-size: $large_icon_size; // 32px
+      icon-size: $large_icon_size;
       -st-icon-style: symbolic;
     }
 
   // content
   .message-content {
     spacing: 4px;
-    padding: ($base_padding*1.5);
-    margin-bottom: $base_margin*2;
+    padding: ($base_padding * 1.5);
+    margin-bottom: $base_margin * 2;
   }
 
-  // title
-  .message-title {
-    font-weight: bold;
-    /* HACK: the label should be baseline-aligned with a 1em label, fake this with some bottom padding */
-    padding-top: 0.57em;
-  }
+  .message-title-box {
+    spacing: $base_padding;
+    // title
+    .message-title {
+      font-weight: bold;
+    }
 
-  // secondary container in title box
-  .message-secondary-bin {
-    padding: 0 $base_margin * 2;
+    // secondary container in title box
+    .message-secondary-bin {
 
-    // notification time stamp
-    > .event-time {
-      color: transparentize($fg_color, 0.5);
-      @include fontsize($base_font_size - 2);
-      /* HACK: the label should be baseline-aligned with a 1em label, fake this with some bottom padding */
-      padding-bottom: 0.13em;
+      // notification time stamp
+      > .event-time {
+        @extend %caption;
+        color: transparentize($fg_color, 0.5);
+        padding-bottom: to_em(1px);
 
-      &:ltr { text-align: right };
-      &:rtl { text-align: left };
+        &:ltr { text-align: right };
+        &:rtl { text-align: left };
+      }
     }
   }
 
+
   // close button
   .message-close-button {
+    @extend .icon-button;
     color: $fg_color;
     background-color: transparentize($fg_color, 0.8);
-    border-radius: 99px;
-    padding: $base_padding - 1px;
+    padding: 0 !important;
+    border: 5px transparent solid;
     margin: 1px;
     &:hover {background-color: transparentize($fg_color, 0.7);}
     &:active {background-color: transparentize($fg_color, 0.8);}
-
-    > StIcon { icon-size: $base_icon_size; }
   }
 
   // body
 
 /* Media Controls */
 .message-media-control {
-  padding: 0 $base_padding*3;
-  margin: $base_padding*2 0;
+  padding: 0 $base_padding * 3;
+  margin: $base_padding * 2 0;
   border-radius: $base_border_radius;
   color: $fg_color;
 
   @if $is_highcontrast {
     border: 1px solid $hc_inset_color;
-    margin: $base_padding*2 2px;
+    margin: $base_padding * 2 2px;
   }
 
   // colors are lightened since the media controls are in a card
   }
 
   // fix margin for last button
-  &:last-child:ltr { margin-right: $base_margin*3; }
-  &:last-child:rtl { margin-left: $base_margin*3; }
+  &:last-child:ltr { margin-right: $base_margin * 3; }
+  &:last-child:rtl { margin-left: $base_margin * 3; }
 
   & StIcon { icon-size: $base_icon_size; }
 }
 
 // album-art
 .media-message-cover-icon {
-  icon-size: $base_icon_size*3 !important; // 48px
+  icon-size: $base_icon_size * 3 !important; // 48px
   border-radius: $base_border_radius;
 
   // when there is no artwork
     border: 1px solid transparent;
     border-radius: $base_border_radius;
     icon-size: $large_icon_size !important; // 32px
-    padding: ($base_padding*2 + 2); // 16px
+    padding: ($base_padding * 2 + 2); // 16px
   }
 }
index 8c127de3ba82fa9cbdbaae12cb87b11fbb9c6c71..d681e6eeb695947723d93e91e1203f0b0a26ddc5 100644 (file)
@@ -8,12 +8,12 @@
 .user-icon {
   background-size: contain;
   color: $osd_fg_color;
-  border-radius: 99px;
+  border-radius: $forced_circular_radius;
   icon-size: $base_icon_size * 4; // 64px
 
   & StIcon {
     background-color: transparentize($osd_fg_color,0.95);
-    border-radius: 99px;
+    border-radius: $forced_circular_radius;
     padding: $base_padding * 2 ; // 12px
     width: $base_icon_size * 2.5; height:  $base_icon_size * 2.5; // 40px;
   }
index edf66c84d9b8558be65633f10ada0534c88456dd..e98739745bb0c6dbde46ed19d27d6962dbf510a2 100644 (file)
@@ -52,8 +52,8 @@ $notification_banner_width: 34em;
 }
 
 .chat-meta-message {
+  @extend %caption;
   padding-left: 4px;
-  @include fontsize($base_font_size - 2);
   font-weight: bold;
   color: lighten($fg_color,18%);
   &:rtl { padding-left: 0; padding-right: 4px; }
index 3562f16f8049bc57363198fa9868601bf066830a..55cf44ac34bff037c24fc8fc47a9bdf020c8e3b9 100644 (file)
@@ -7,30 +7,30 @@ $osd_levelbar_height:6px;
   @extend %heading;
   text-align: center;
   font-weight: bold;
-  spacing: $base_padding * 2; // 12px
+  spacing: $base_padding * 2;
   padding: $base_padding * 2 $base_padding * 3;
-  & > * { spacing: 8px; }
+  & > * { spacing: $base_margin * 2; }
   margin-bottom: 4em;
 
-  StIcon { icon-size:$large_icon_size;}
+  StIcon { icon-size: $large_icon_size;}
 
   StLabel {
-    &:ltr { margin-right: 6px; }
-    &:rtl { margin-left: 6px; }
+    &:ltr { margin-right: $base_padding; }
+    &:rtl { margin-left: $base_padding; }
   }
 
   .level {
-    margin-bottom: 4px;
-    &:first-child { margin-bottom: 0px; }
+    margin-bottom: $base_margin;
+    &:first-child { margin-bottom: 0; }
 
-    min-width:$base_icon_size * 10;
+    min-width: 160px;
     -barlevel-height: $osd_levelbar_height;
     -barlevel-background-color: transparentize($osd_fg_color, if($variant=='light', 0.7, 0.9));
     -barlevel-active-background-color: $osd_fg_color;
     -barlevel-overdrive-color: $destructive_color;
-    -barlevel-overdrive-separator-width: 3px;
-    &:ltr { margin-right: 6px; }
-    &:rtl { margin-left: 6px; }
+    -barlevel-overdrive-separator-width: $base_padding * 0.5;
+    &:ltr { margin-right: $base_padding; }
+    &:rtl { margin-left: $base_padding; }
   }
 }
 
index 301875e19cb9b71a91b9bb5f21d8acee06e6363e..117213e87ce464fb57bd3188b47eeace5d54c66e 100644 (file)
@@ -9,5 +9,5 @@
 }
 
 .overview-controls {
-  padding-bottom: 32px;
+  padding-bottom: $base_margin * 8;
 }
index 6e7b3be140711aec5fd41f27d1273da3b600a39c..7d7fcb0875683ef7691b76008967785cdb675c66 100644 (file)
@@ -27,33 +27,37 @@ $panel_transition_duration: 250ms; // same as the overview transition duration
 
     // status area icons
     .system-status-icon {
-      icon-size: $base_icon_size;
-      padding: $base_padding - 1px;
+      icon-size: $scalable_icon_size;
+      padding: $base_padding;
       margin: 0 $base_margin;
     }
 
-    .panel-status-indicators-box .system-status-icon,
-    .panel-status-menu-box .system-status-icon {
-      margin: 0;
-    }
-
     // app menu icon
     .app-menu-icon {
       -st-icon-style: symbolic;
       // dimensions of the icon are hardcoded
     }
 
-    &#panelActivities {
-      -natural-hpadding: $base_padding * 2.5;
+    // reduce margin between icons in combined menu
+    .panel-status-menu-box,
+    .panel-status-indicators-box {
+      spacing: $base_margin;
 
+      > .system-status-icon {
+        padding: 0;
+      }
+    }
+
+    &#panelActivities {
       & StBoxLayout {
+        padding: 0 $scaled_padding * 0.5; // use em padding to keep proportion
         spacing: 5px;
       }
 
       & .workspace-dot {
-        border-radius: 999px;
-        min-width: 8px;
-        min-height: 8px;
+        border-radius: $forced_circular_radius;
+        min-width: $scalable_icon_size * 0.5;
+        min-height: $scalable_icon_size * 0.5;
         background-color: $panel_fg_color;
       }
     }
@@ -62,11 +66,11 @@ $panel_transition_duration: 250ms; // same as the overview transition duration
     &.screen-recording-indicator,
     &.screen-sharing-indicator {
       StBoxLayout {
-        spacing: $base_padding;
+        spacing: $scaled_padding;
       }
 
       StIcon {
-        icon-size: $base_icon_size;
+        icon-size: $scalable_icon_size;
       }
     }
 
@@ -88,6 +92,10 @@ $panel_transition_duration: 250ms; // same as the overview transition duration
       .clock {
         // the highlighted child
       }
+
+      .messages-indicator {
+        icon-size: $scalable_icon_size;
+      }
     }
   }
 
@@ -137,13 +145,13 @@ $panel_transition_duration: 250ms; // same as the overview transition duration
 
 // App Menu
 #appMenu {
-  spacing: $base_padding;
+  spacing: $scaled_padding;
   .label-shadow { color: transparent; }
 }
 
 #appMenu .panel-status-menu-box {
-  padding: 0 $base_padding;
-  spacing: $base_padding;
+  padding: 0 $scaled_padding;
+  spacing: $scaled_padding;
 }
 
 
@@ -151,7 +159,7 @@ $panel_transition_duration: 250ms; // same as the overview transition duration
 .clock-display-box {
   spacing: 2px;
   .clock {
-    padding-left: $base_padding * 2;
-    padding-right: $base_padding * 2;
+    padding-left: $scaled_padding * 2;
+    padding-right: $scaled_padding * 2;
   }
 }
index a6ed06d3adf62cdfec5c4e681e43e3393304b0d4..827380afdf987e9c2ba028948f98e6b234e97677 100644 (file)
@@ -2,13 +2,13 @@
 
 $menu_bg_color: $bg_color;
 $menuitem_bg_color: lighten($menu_bg_color, 4%);
-$menuitem_border_radius: $base_border_radius*1.5;
+$menuitem_border_radius: $base_border_radius * 1.5;
 
 $submenu_bg_color: lighten($menu_bg_color, 7%);
 
 // the popover itself
 .popup-menu-boxpointer {
-  -arrow-rise: $base_margin+2px; // distance from the panel & screen edge
+  -arrow-rise: $base_padding; // distance from the panel & screen edge
 }
 
 // container of the popover menu
@@ -26,7 +26,7 @@ $submenu_bg_color: lighten($menu_bg_color, 7%);
 .popup-menu-content {
   padding: $base_padding;
   background-color: $bg_color;
-  border-radius: $modal_radius*1.25;
+  border-radius: $modal_radius * 1.25;
   border: 1px solid $outer_borders_color;
   box-shadow: 0 2px 4px 0 $shadow_color;
 }
@@ -67,7 +67,7 @@ $submenu_bg_color: lighten($menu_bg_color, 7%);
 // symbolic icons in popover
 .popup-menu-arrow,
 .popup-menu-icon {
-  icon-size: 16px !important; // for some reason the variable doesn't work here
+  icon-size: $scalable_icon_size;
 }
 
 // popover submenus
@@ -103,8 +103,8 @@ $submenu_bg_color: lighten($menu_bg_color, 7%);
 
 // container for radio and check boxes
 .popup-menu-ornament {
-  icon-size: $base_icon_size !important;
-  width: $base_icon_size;
+  icon-size: $scalable_icon_size !important;
+  width: $scalable_icon_size;
 }
 
 // separator
@@ -144,8 +144,8 @@ $submenu_bg_color: lighten($menu_bg_color, 7%);
     // "Open Windows" label
     > StLabel {
       @extend %caption_heading;
-      &:ltr {margin-right: $base_margin*2;}
-      &:rtl {margin-left: $base_margin*2;}
+      &:ltr {margin-right: $base_margin * 2;}
+      &:rtl {margin-left: $base_margin * 2;}
     }
   }
 }
index 723afe7db10df798397ed93a14cc9d451cf4312a..f07a57e80e3c30a90a8706000b5120e6e41aa081 100644 (file)
@@ -1,45 +1,45 @@
 .quick-settings {
-  padding: $base_padding*3;
-  border-radius: $modal_radius*2.25;
+  padding: $base_padding * 3;
+  border-radius: $modal_radius * 2.25;
 
   .icon-button, .button {
-    padding: $base_padding*1.75;
+    padding: $base_padding * 1.75;
   }
 }
 
 .quick-settings-grid {
-  spacing-rows: $base_padding*2;
-  spacing-columns: $base_padding*2;
+  spacing-rows: $base_padding * 2;
+  spacing-columns: $base_padding * 2;
 }
 
 .quick-toggle, .quick-menu-toggle {
-  border-radius: 99px;
+  border-radius: $forced_circular_radius;
   min-width: 12em;
   max-width: 12em;
-  min-height: 48px;
+  min-height: $scalable_icon_size * 3; // use icon size so the button scales
   border:none;
 }
 
 .quick-toggle {
   &:checked { @include button(default, $c:$selected_bg_color); }
 
-  & > StBoxLayout { spacing: $base_padding*1.5; }
+  & > StBoxLayout { spacing: $base_padding * 1.5; }
 
   /* Move padding into the box; this is to allow menu arrows
      to extend to the border */
   &.button { padding: 0; }
-  & > StBoxLayout { padding: 0 $base_padding*2; }
-  &:ltr > StBoxLayout { padding-left: $base_padding*2.5; }
-  &:rtl > StBoxLayout { padding-right: $base_padding*2.5; }
+  & > StBoxLayout { padding: 0 $base_padding * 2; }
+  &:ltr > StBoxLayout { padding-left: $base_padding * 2.5; }
+  &:rtl > StBoxLayout { padding-right: $base_padding * 2.5; }
 
   .quick-toggle-title { font-weight: bold; }
 
   & StBoxLayout > .quick-toggle-subtitle {
+    @extend %caption;
     font-weight: normal;
-    font-size: 12px;
   }
 
-  .quick-toggle-icon { icon-size: $base_icon_size; }
+  .quick-toggle-icon { icon-size: $scalable_icon_size; }
 }
 
 .quick-menu-toggle {
     min-width: auto;
     max-width: auto;
 
-    &:ltr { border-radius: 99px 0 0 99px; }
-    &:ltr > StBoxLayout { padding-right: $base_padding*1.5; }
-    &:rtl { border-radius: 0 99px 99px 0; }
-    &:rtr > StBoxLayout { padding-left: $base_padding*1.5; }
+    &:ltr { border-radius: $forced_circular_radius 0 0 $forced_circular_radius; }
+    &:ltr > StBoxLayout { padding-right: $scaled_padding * 1.5; }
+    &:rtl { border-radius: 0 $forced_circular_radius $forced_circular_radius 0; }
+    &:rtr > StBoxLayout { padding-left: $scaled_padding * 1.5; }
 
-    &:ltr:last-child { border-radius: 99px; }
-    &:rtl:last-child { border-radius: 99px; }
+    &:ltr:last-child { border-radius: $forced_circular_radius; }
+    &:rtl:last-child { border-radius: $forced_circular_radius; }
   }
 
   & .quick-toggle-arrow {
-    padding: $base_padding $base_padding*1.75;
+    padding: $scaled_padding $scaled_padding * 1.75;
     border-width: 0;
     border-color: transparentize($fg_color, .75);
 
     }
 
     &:ltr {
-      border-radius: 0 99px 99px 0;
+      border-radius: 0 $forced_circular_radius $forced_circular_radius 0;
       border-left-width: 1px;
     }
     &:rtl {
-      border-radius: 99px 0 0 99px;
+      border-radius: $forced_circular_radius 0 0 $forced_circular_radius;
       border-right-width: 1px;
     }
   }
@@ -85,7 +85,7 @@
   .slider-bin {
     &:focus {@include button(focus);}
     padding: $base_padding;
-    border-radius: 99px;
+    border-radius: $forced_circular_radius;
   }
 }
 
   background-color: $bg_color !important;
   color: $fg_color !important;
 
-  border-radius: $base_border_radius*3;
-  padding: $base_padding*2;
-  margin: $base_padding*2 $base_padding*3 0;
+  border-radius: $base_border_radius * 3;
 
-  .popup-menu-item > StIcon { -st-icon-style: symbolic; }
+  margin: $base_padding * 2 $base_padding * 3 0;
+
+  .popup-menu-item > StIcon {
+    -st-icon-style: symbolic;
+    icon-size: $scalable_icon_size;
+  }
 
   & .header {
-    spacing-rows: 0.5 * $base_padding;
-    spacing-columns: $base_padding*2;
-    padding-bottom: 2 * $base_padding;
+    spacing-rows: $base_padding * 0.5;
+    spacing-columns: $base_padding * 2;
+    padding-bottom: $base_padding * 2;
 
     & .icon {
-      icon-size: $base_icon_size*1.5; // a non-standard symbolic size but ok
-      border-radius: 999px;
+      icon-size: $medium_scalable_icon_size;
+      border-radius: $forced_circular_radius;
       padding: 1.5 * $base_padding;
       background-color: transparentize($fg_color, 0.8);
 
 }
 
 .quick-settings-system-item {
-  & > StBoxLayout { spacing: 2 * $base_padding; }
+  & > StBoxLayout { spacing: $base_padding * 2; }
 
   & .power-item {
     min-height: 0;
 }
 
 .nm-network-item {
-  .wireless-secure-icon { icon-size: 0.5 * $base_icon_size; }
+  .wireless-secure-icon { icon-size: $scalable_icon_size * 0.5; } // half-size symbolic
 }
 
 .bt-device-item {
 // background apps
 
 .background-apps-quick-toggle {
-  min-height: 40px;
+  min-height: to_em(40px);
   background-color: transparent;
 
-  & StIcon { icon-size: $base_icon_size !important; }
+  & StIcon { icon-size: $scalable_icon_size !important; }
 }
 
 .background-app-item {
index 16274ab3ce41805a47f14ed86465a0b227e6a316..b51236b6fe4e0a07407ed288901237efad8e4efc 100644 (file)
@@ -1,16 +1,7 @@
 // Screenshot UI
-.icon-label-button-container {
-  spacing: $base_padding;
-  @extend %caption;
-
-  StIcon { icon-size: 32px;}
-}
-
-$screenshot_ui_panel_padding: $base_padding*3;
-$screenshot_ui_shot_cast_margin: 21px;
-$screenshot_ui_panel_border_radius: $modal_radius + $screenshot_ui_shot_cast_margin;
-$screenshot_ui_shot_cast_spacing: 3px;
 
+$screenshot_ui_panel_padding: $base_padding * 3;
+$screenshot_ui_panel_border_radius: $modal_radius * 2;
 $screenshot_ui_button_red: $error_color;
 
 .screenshot-ui-panel {
@@ -18,7 +9,7 @@ $screenshot_ui_button_red: $error_color;
   border-radius: $screenshot_ui_panel_border_radius;
   padding: $screenshot_ui_panel_padding;
   // Reduce the bottom padding a little to accommodate the large capture button.
-  padding-bottom: $screenshot_ui_panel_padding - 6px;
+  padding-bottom: $screenshot_ui_panel_padding - $base_padding;
   margin-bottom: 4em;
   spacing: $base_padding * 2;
 }
@@ -26,31 +17,38 @@ $screenshot_ui_button_red: $error_color;
 .screenshot-ui-close-button {
   @extend .window-close; // copy window close button
   padding: $base_padding !important; // but with more padding
-  margin-top: 12px;
+  margin-top: $base_margin * 3;
   box-shadow: 0 2px 4px 0 $shadow_color;
-  &.left { margin-left: 12px;}
-  &.right { margin-right: 12px;}
+  &.left { margin-left: $base_margin * 3;}
+  &.right { margin-right: $base_margin * 3;}
 }
 
 .screenshot-ui-type-button {
   @extend %osd_button_flat;
   min-width: 48px;
-  padding: $base_padding * 2 $base_padding * 3 !important;
+  padding: $base_padding * 2 $base_padding * 3;
   border-radius: $screenshot_ui_panel_border_radius - $screenshot_ui_panel_padding;
+
+  .icon-label-button-container {
+    @extend %caption;
+    spacing: $scaled_padding;
+
+    > StIcon { icon-size: $large_icon_size;}
+  }
 }
 
 .screenshot-ui-capture-button {
-  width: 36px;
-  height: 36px;
-  border-radius: 99px;
+  width: $large_icon_size;
+  height: $large_icon_size;
+  border-radius: $forced_circular_radius;
   border: 4px $osd_fg_color;
-  padding: 4px;
+  padding: $base_margin;
 
   .screenshot-ui-capture-button-circle {
     background-color: $osd_fg_color;
     transition-duration: 200ms;
     &:hover, &:focus { background-color: $hover_bg_color;}
-    border-radius: 99px;
+    border-radius: $forced_circular_radius;
   }
 
   &:hover, &:focus {
@@ -84,29 +82,27 @@ $screenshot_ui_button_red: $error_color;
 
 .screenshot-ui-shot-cast-container {
   background-color: transparentize($osd_fg_color,0.9);
-  border-radius: $modal_radius;
-  padding: $screenshot_ui_shot_cast_spacing;
-  spacing: $screenshot_ui_shot_cast_spacing;
-
+  border-radius: $forced_circular_radius;
+  padding: $base_padding * 0.5;
+  spacing: $base_padding * 0.5;
 
   @if $is_highcontrast {
     box-shadow: inset 0 0 0 1px $hc_inset_color;
   }
-
-  &:ltr { margin-left: $screenshot_ui_shot_cast_margin - $screenshot_ui_panel_padding;}
-  &:rtl { margin-right: $screenshot_ui_shot_cast_margin - $screenshot_ui_panel_padding;}
 }
 
+// non-standard button style
 .screenshot-ui-shot-cast-button {
-  padding: $base_padding $base_padding*2;
+  padding: $base_padding $base_padding * 2;
   background-color: transparent;
-  border-radius: $modal_radius - $screenshot_ui_shot_cast_spacing;
-  StIcon { icon-size: $base_icon_size;}
+  border-radius: $forced_circular_radius;
 
   @if $is_highcontrast {
     box-shadow: inset 0 0 0 1px $hc_inset_color;
   }
 
+  > StIcon { icon-size: $base_icon_size;}
+
   &:hover, &:focus { background-color: transparentize($osd_fg_color, 0.8);}
   &:active { background-color: transparentize($osd_fg_color, .5);}
   &:checked { background-color: $osd_fg_color; color: $osd_bg_color;}
@@ -115,9 +111,7 @@ $screenshot_ui_button_red: $error_color;
 
 .screenshot-ui-show-pointer-button {
   @extend %osd_button_flat;
-  border-radius: 99px;
-  padding: $base_padding * 2 !important;
-  StIcon { icon-size: $base_icon_size;}
+  @extend .icon-button;
 }
 
 .screenshot-ui-area-indicator-shade {
@@ -135,11 +129,11 @@ $screenshot_ui_button_red: $error_color;
 }
 
 .screenshot-ui-area-selector-handle {
-  border-radius: 99px;
+  border-radius: $forced_circular_radius;
   background-color: white;
   box-shadow: 0 1px 3px 2px $shadow_color;
-  width: 24px;
-  height: 24px;
+  width: $medium_icon_size;
+  height: $medium_icon_size;
 }
 
 .screenshot-ui-window-selector {
@@ -166,9 +160,9 @@ $screenshot_ui_button_red: $error_color;
 .screenshot-ui-window-selector-check {
   transition-duration: 200ms;
   color: transparent;
-  border-radius: 99px;
+  border-radius: $forced_circular_radius;
   border-width: 12px;
-  icon-size: 24px;
+  icon-size: $medium_icon_size;
 }
 
 .screenshot-ui-window-selector-window {
@@ -205,5 +199,5 @@ $screenshot_ui_button_red: $error_color;
 .screenshot-ui-tooltip {
   @extend %tooltip;
   text-align: center;
-  -y-offset: 24px;
+  -y-offset: $base_margin * 6;
 }
index 8b766ba0d7772591abc5e253b8f69ad777151aee..1f24d3c5ea8c4c028915922cd2d90e3b9793b8a7 100644 (file)
@@ -1,15 +1,15 @@
 // Search entry
 .search-entry {
-  border-radius: 99px;
-  margin-top: $base_padding*2;
+  border-radius: $forced_circular_radius;
+  margin-top: $base_padding * 2;
   margin-bottom: $base_padding;
   width: 24em;
 
   @extend %system_entry;
 
   .search-entry-icon {
-    icon-size: $base_icon_size;
+    icon-size: $scalable_icon_size;
     margin-top: 2px; // center vertically
-    padding: 0 4px;
+    padding: 0 $base_margin;
   }
 }
index b281ba5b5014bb267d2a5b966c2e6ff96daa08ac..9fdfd104b2e1b858bc1701cb0bd52625d1555ca8 100644 (file)
 // search results sections "the boxes"
 .search-section {
   // This should be equal to #searchResultsContent spacing
-  spacing: $base_padding*3;
+  spacing: $base_padding * 3;
 
   // separator (unstyled)
   .search-section-separator {
-    height: $base_margin*2; // use it as a spacer
+    height: $base_margin * 2; // use it as a spacer
     background-color: transparent;
   }
 }
 .search-section-content {
   background-color: $system_overlay_bg_color;
   color: $system_fg_color;
-  border-radius: $modal_radius*1.5;
-  padding: $base_padding*2;
-  margin:0 $base_margin*3;
+  border-radius: $modal_radius * 1.5;
+  padding: $base_padding * 2;
+  margin:0 $base_margin * 3;
 }
 
 %search_section_content_item {
   @include tile_button($system_fg_color);
-  border-radius: $base_border_radius+3px;
+  border-radius: $base_border_radius * 1.65;
 }
 
 // "no results" text
@@ -42,8 +42,8 @@
 }
 
 .grid-search-results {
-  spacing: $base_padding*5;
-  margin:0 $base_margin*3;
+  spacing: $base_padding * 5;
+  margin:0 $base_margin * 3;
 }
 
 // Search results with icons
index 40ac34652a1cf31c46ae1bbfca010459b169ed0b..0c444f7555c781e9743dcdd047a805ed2c1e3f74 100644 (file)
@@ -1,12 +1,12 @@
 /* Slider */
 
-$slider_size: 16px;
+$slider_size: $scalable_icon_size;
 
 .slider {
   // slider trough
   -barlevel-height: 4px;
   -barlevel-background-color: transparentize($fg_color, 0.8); //background of the trough
-  -barlevel-border-width: 2px; 
+  -barlevel-border-width: 2px;
   -barlevel-border-color: transparent; // trough border color
   // fill style
   -barlevel-active-background-color: $selected_bg_color;
index 5136c3cfe199aba78b83c74d7a224fcc4aca7214..9168ed91186225711df5f0e390b0bf784d81c26c 100644 (file)
@@ -1,7 +1,8 @@
 /* App Switcher */
 
 // same as dash
-$switcher_padding: $base_padding*2;
+$switcher_padding: $base_padding * 2;
+$switcher_radius: $modal_radius + $switcher_padding;
 
 
 // the full screen container of the switcher
@@ -14,7 +15,7 @@ $switcher_padding: $base_padding*2;
 .switcher-list {
   @extend %osd_panel;
   padding: $switcher_padding;
-  border-radius: $modal_radius+$switcher_padding;
+  border-radius: $switcher_radius;
   box-shadow: 0 8px 8px 0 $shadow_color;
 
   // container for items in list
index b6d8fe830f04267c869cf843fccb46291fb78a32..d6ce671c6920cf9e360a72444c19f5c32c482bf1 100644 (file)
@@ -10,7 +10,7 @@ $switch_width: 48px;
   width: $switch_width;
   background-size: contain;
   background-image: if($variant == 'light', url("resource:///org/gnome/shell/theme/toggle-off-light.svg"),url("resource:///org/gnome/shell/theme/toggle-off.svg"));
-  &:checked { 
+  &:checked {
     background-image: if($variant == 'light', url("resource:///org/gnome/shell/theme/toggle-on-light.svg"),url("resource:///org/gnome/shell/theme/toggle-on.svg"));
   }
 }
index b46366a86fc90ccfd60f628ead8d4a9c758ca94e..613a9d65af40331b25e79bf0f7be99d2b00442c9 100644 (file)
@@ -1,18 +1,10 @@
 /* Window Picker */
-
-$window_picker_spacing: $base_padding; // 6px
-$window_picker_padding: $base_padding * 2; // 12px
-
-$window_thumbnail_label_color: transparentize($system_bg_color, 0.4);
-
 $window_close_button_color: transparentize(lighten($system_bg_color, 7%), .02);
-$window_close_button_size: 30px;
-$window_close_button_padding: 3px;
 
 // Window picker
 .window-picker {
   // Space between window thumbnails
-  spacing: $window_picker_spacing;
+  spacing: $base_padding;
 }
 
 // Window titles
@@ -24,14 +16,14 @@ $window_close_button_padding: 3px;
 .window-close {
   background-color: $window_close_button_color;
   color: $system_fg_color;
-  border-radius: 99px;
+  border-radius: $forced_circular_radius;
   box-shadow: 0 2px 4px 0 $shadow_color;
-  padding: $window_close_button_padding;
-  height: $window_close_button_size;
-  width: $window_close_button_size;
+  padding: $base_padding * 0.5;
+  height: $large_icon_size;
+  width: $large_icon_size;
   transition-duration: 100ms;
 
-  & StIcon { icon-size: 24px; } // uses non standard icon size
+  & StIcon { icon-size: $medium_icon_size; }
 
   &:hover {
     background-color: lighten($window_close_button_color, 7%);
index f06130ba9734afc9c7f1c3bff10da5c88a5fb155..f3e069f7876d252226f1cf1404ae89a75f85be94 100644 (file)
@@ -1,6 +1,6 @@
 /* Workspace Switcher */
 
-$ws_indicator_height: $large_icon_size;
+$ws_indicator_height: 48px;
 $ws_dot_active: $ws_indicator_height / 3;
 $ws_dot_inactive: $ws_indicator_height / 6;
 
index 9e58e921b7bf7bb7af7345514f70f15498adca1d..f8f5a1477780ebc341c97200f6fcabf015b3ab47 100644 (file)
@@ -9,7 +9,7 @@
   .workspace-thumbnail {
     color: $system_fg_color;
     background-color: lighten($system_bg_color, 10%);
-    border-radius: $base_border_radius*0.5;
+    border-radius: $base_border_radius * 0.5;
     border: 1px solid transparent;
 
     @if $is_highcontrast {
index b03f024ac1f0cdbc32c29456cdf28c6a103ed22c..82ce48b096c97c3de1724997b0ae0ac31d023336 100644 (file)
@@ -2607,7 +2607,7 @@ export const AppFolderDialog = GObject.registerClass({
 
         // Edit button
         this._editButton = new St.Button({
-            style_class: 'edit-folder-button',
+            style_class: 'icon-button',
             button_mask: St.ButtonMask.ONE,
             toggle_mode: true,
             reactive: true,
index 1d6d22685ac0bb7b64417538fb3f5a775a5e4bf4..525923c0e0421141120b12a7debeb6a8308f36ca 100644 (file)
@@ -729,7 +729,7 @@ const MessagesIndicator = GObject.registerClass(
 class MessagesIndicator extends St.Icon {
     _init() {
         super._init({
-            icon_size: 16,
+            style_class: 'messages-indicator',
             visible: false,
             y_expand: true,
             y_align: Clutter.ActorAlign.CENTER,
index b86ab37eb95a359313a3c14a4d8412924ab1856e..5797c6dde65fc9119903c811f45dfdd1aa78a05d 100644 (file)
@@ -358,16 +358,20 @@ export const Message = GObject.registerClass({
         this._mediaControls = new St.BoxLayout();
         hbox.add_child(this._mediaControls);
 
-        let titleBox = new St.BoxLayout();
+        let titleBox = new St.BoxLayout({style_class: 'message-title-box'});
         contentBox.add_child(titleBox);
 
-        this.titleLabel = new St.Label({style_class: 'message-title'});
+        this.titleLabel = new St.Label({
+            style_class: 'message-title',
+            y_align: Clutter.ActorAlign.END,
+        });
         this.setTitle(title);
         titleBox.add_child(this.titleLabel);
 
         this._secondaryBin = new St.Bin({
             style_class: 'message-secondary-bin',
             x_expand: true, y_expand: true,
+            y_align: Clutter.ActorAlign.END,
         });
         titleBox.add_child(this._secondaryBin);